package com.example.musicplayer.util;
import java.io.*;
import android.os.*;

/**
 * 保存（加载）系统中需要保存（加载）的数据
 * @author hyh
 *
 */
public class DataSaveLoad
{
	/**
	 * 	保存数据
	 * @param o 需要保存的数据对象
	 * @param name 需要保存的数据对象对应的索引key
	 */
	public static void save(Object o,String name){
		
		ObjectOutputStream oos=null;//新建ObjectOutputStream对象索引
		try
		{
			oos = new ObjectOutputStream(new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+name));//新建ObjectOutputStream对象并赋值给oos
			oos.writeObject(o);//写入数据对象
		}
		catch (IOException e)
		{}finally{
			if(oos!=null){
				try
				{
					oos.close();//关闭oos对象
				}
				catch (IOException e)
				{}
			}
		}
	}
	
	/**
	 * 加载制定索引Key的数据
	 * @param name 索引Key
	 * @return 数据对象
	 */
	public static Object load(String name){
		ObjectInputStream ois=null;//新建ObjectInputStream对象索引
		Object o=null;
		try
		{
			ois = new ObjectInputStream(new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+name));//新建ObjectInputStream对象并赋值给ois
			o=ois.readObject();//读取数据
		}
		catch (IOException e)
		{}catch (ClassNotFoundException e) {
		}
		finally{
			if(ois!=null){
				try
				{
					ois.close();//关闭ois
				}
				catch (IOException e)
				{}
			}
		}
		return o;
	}
	
	/**
	 * 删除制定索引的数据
	 * @param name 指定的索引Key
	 */
	public static void delete(String name){
		
		File f=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+name);//新建File对象
		f.delete();//删除文件
	}
	
}
